package com.hongawen.daemon;

/**
 * 守护线程是为其他线程服务的线程；
 * 所有非守护线程都执行完毕后，虚拟机退出；
 * 守护线程不能持有需要关闭的资源（如打开文件等）。
 * 在守护线程中，编写代码要注意：守护线程不能持有任何需要关闭的资源，例如打开文件等，因为虚拟机退出时，守护线程没有任何机会来关闭文件，这会导致数据丢失。
 * @author hongawen
 * @version 1.0.0
 * @date 2021年09月01日 14:24
 */
public class Daemon {

    /**
     * 现象，主线程结束后，JVM退出后，子线程也不再执行
     */
    public static void main(String[] args) {

        System.out.println("开始运行主线程");
        Thread demo = new Thread(()-> System.out.println("子线程正在执行任务"));
        demo.setDaemon(true);
        demo.start();

        System.out.println("结束运行主线程");
    }

}


